program Project1; // Zadanie 5.6

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  a, b, c, delta, x1, x2: Real;
  Liczba_Pierwiastkow: Byte;

procedure czytaj_dane();
  begin
    Writeln('Program oblicza pierwiastki rownania kwadratowego dla dowolnych wspolczynnikow a, b, c.');
    Writeln('Podaj a.');
    Readln(a);
    if (a = 0) then
      begin
        Writeln('Niedozwolona wartosc wspolczynnika a. Nacisnij klawisz Enter.');
        Readln; // czeka na nacisniecie klawisza Enter
        Exit(); // wyjscie z programu
      end
    else
      begin
        Writeln('Podaj b.');
        Readln(b);
        Writeln('Podaj c.');
        Readln(c);
      end;
  end;

procedure przetworz_dane();
  begin
    delta := b*b-4*a*c;

    if delta < 0 then Liczba_Pierwiastkow := 0;
    if delta = 0 then Liczba_Pierwiastkow := 1;
    if delta > 0 then Liczba_Pierwiastkow := 2;

    case Liczba_Pierwiastkow of
      1 : begin
            x1 := -b/(2*a);
          end;
      2 : begin
            x1 := (-b-sqrt(delta))/(2*a);
            x2 := (-b+sqrt(delta))/(2*a);
          end;
    end;
  end;

procedure wyswietl_wynik();
  begin
    Writeln('Dla wprowadzonych liczb:');
    Writeln('a = ',a:4:2, ',');
    Writeln('b = ',b:4:2, ',');
    Writeln('c = ',c:4:2, ',');
    case Liczba_Pierwiastkow of
      0 : Writeln('brak pierwiastkow rzeczywistych.');
      1 : begin
            Writeln('trojmian ma jeden pierwiastek podwojny x1 = ', x1:4:2, '.');
          end;
      2 : begin
            Writeln('trojmian ma dwa pierwiastki:');
            Writeln('x1 = ', x1:4:2, ',');
            Writeln('x2 = ', x2:4:2, '.');
          end;
    end;
  end;

begin
  czytaj_dane();
  przetworz_dane();
  wyswietl_wynik();

  Readln; // czeka na nacisniecie klawisza Enter
end.
